/**
 * 进化系统配置
 * 
 * 功能：
 * 1. 定义进化阶段和能力
 * 2. 设置进化条件和消耗
 * 3. 配置技能解锁规则
 * 
 * 配置项：
 * 1. 进化阶段定义
 * 2. 技能配置
 * 3. 解锁条件
 * 4. 资源消耗
 */
export const EvolutionConfig = {
    STAGES: {
        BASIC: {
            name: '基础形态',
            requirements: [],
            abilities: ['move', 'eat']
        },
        ADVANCED: {
            name: '进阶形态',
            requirements: ['BASIC'],
            abilities: ['dash', 'attack']
        }
    },

    SKILLS: {
        move: {
            name: '移动',
            cost: 0,
            cooldown: 0
        },
        dash: {
            name: '冲刺',
            cost: 2,
            cooldown: 5
        }
    }
};

export const EvolutionStages = {
    // 基础生物
    BASIC: {
        id: 'basic',
        name: '原生生物',
        hp: 100,
        moveSpeed: 5,
        damage: 10,
        size: 1,
        requiredPoints: 0,
        skills: [],
        nextStages: ['LAND_1', 'WATER_1', 'AIR_1']
    },

    // 陆地生物进化线
    LAND_1: {
        id: 'land_1',
        name: '小型陆地生物',
        hp: 150,
        moveSpeed: 6,
        damage: 15,
        size: 1.2,
        requiredPoints: 100,
        skills: ['dash'],
        nextStages: ['LAND_2']
    },
    LAND_2: {
        id: 'land_2',
        name: '中型陆地生物',
        hp: 250,
        moveSpeed: 7,
        damage: 25,
        size: 1.5,
        requiredPoints: 300,
        skills: ['dash', 'roar'],
        nextStages: ['LAND_3']
    },

    // 水生生物进化线
    WATER_1: {
        id: 'water_1',
        name: '小型水生生物',
        hp: 120,
        moveSpeed: 8,
        damage: 12,
        size: 1.1,
        requiredPoints: 100,
        skills: ['swim'],
        nextStages: ['WATER_2']
    },

    // 飞行生物进化线
    AIR_1: {
        id: 'air_1',
        name: '小型飞行生物',
        hp: 80,
        moveSpeed: 10,
        damage: 8,
        size: 0.8,
        requiredPoints: 100,
        skills: ['fly'],
        nextStages: ['AIR_2']
    }
} as const;

export const EvolutionSkills = {
    dash: {
        name: '冲刺',
        cooldown: 5,
        duration: 0.5,
        speedBoost: 2
    },
    roar: {
        name: '咆哮',
        cooldown: 8,
        radius: 5,
        damage: 20
    },
    swim: {
        name: '游泳',
        waterSpeedBoost: 1.5,
        oxygenTime: 30
    },
    fly: {
        name: '飞行',
        flySpeedBoost: 1.3,
        maxHeight: 10
    }
} as const; 